/**
 * dva全局变量
 */

import {} from '@/services/ant-design-pro';
import type { Effect, Reducer } from 'umi';

export interface StateType {
  demo: string;
}

export interface DemoModelType {
  namespace: string;
  state: StateType;
  effects: {
    demo: Effect;
  };
  reducers: {
    changeDemoStatus: Reducer<StateType>;
  };
}

const Demo: DemoModelType = {
  // 调用 model 的时候，通过命名空间调用，不要和其他的 model 同名
  namespace: 'demo',

  // 状态，跟 react 中的 state 类似，和 redux 中保存的 state 一样
  state: {
    demo: '',
  },

  // 调用服务器接口，获取数据
  effects: {
    *demo() {},
  },

  // 更新 state
  reducers: {
    changeDemoStatus(state) {
      return {
        ...state,
      };
    },
  },
};

export default Demo;
